import numpy as np

# 定义一个高维度矩阵
# 定义一个2x2x3矩阵
a = np.array([
    [[1, 2, 3], [2, 3, 4]], [[3, 4, 5], [4, 5, 6]]
])

# 输出形状
print(a.shape)

# 改变形状 ：只要h * w * c 的大小是一致的，那么可以变换任意形态
# reshape
a1 = a.reshape(4, 3)
a2 = a.reshape(6, 2)
a3 = a.reshape(1, 2, 6, 1)
print(a1.shape, a2.shape, a3.shape)

# 如果形态改变了，还原时它的参数是否是一致的
# print(a1.reshape(2, 2, 3) == a)
# print(a2.reshape(2, 2, 3) == a)
# print(a3.reshape(2, 2, 3) == a)

# 总结，矩阵的改变，也不意味着原矩阵消失。
